package com.fortune.dao;

import com.fortune.dto.in.paymentMethod.PaymentMethodAddDto;
import com.fortune.dto.in.paymentMethod.PaymentMethodEditDto;
import com.fortune.dto.in.paymentMethod.PaymentMethodListDto;
import com.fortune.vo.cOrderMgt.CPaymentMethod;
import com.fortune.vo.paymentMethod.PaymentMethod;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PaymentMethodDao {
    /**
     *查询付款方式
     * @param companyId
     * @return
     */
    List<PaymentMethod> queryPaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodListDto") PaymentMethodListDto paymentMethodListDto);

    /**
     * 查询付款方式个数
     * @param companyId
     * @param paymentMethodListDto
     * @return
     */
    int queryPaymentMethodCount(@Param("companyId") String companyId, @Param("paymentMethodListDto") PaymentMethodListDto paymentMethodListDto);

    /**
     * 添加付款方式
     * @param companyId
     * @param paymentMethodAddDto
     * @return
     */
    int addPaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodAddDto") PaymentMethodAddDto paymentMethodAddDto);

    /**
     *编辑付款方式
     * @param companyId
     * @param paymentMethodEditDto
     * @return
     */
    int editPaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodEditDto") PaymentMethodEditDto paymentMethodEditDto);

    /**
     * 删除付款方式
     * @param companyId
     * @param paymentMethodId
     * @return
     */
    int deletePaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodId") String paymentMethodId);

    /**
     *添加时验重
     * @param companyId
     * @param paymentMethodAddDto
     * @return
     */
    int queryAddPaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodAddDto") PaymentMethodAddDto paymentMethodAddDto);

    /**
     * 编辑时验重
     * @param companyId
     * @param paymentMethodEditDto
     * @return
     */
    int queryEditPaymentMethod(@Param("companyId") String companyId, @Param("paymentMethodEditDto") PaymentMethodEditDto paymentMethodEditDto);

    /**
     * 查询所有付款方式
     * @param mId 厂商id
     * @return
     */
    List<PaymentMethod> listPaymentMethod();

    /**
     *
     * @param companyId
     * @return
     */
    List<CPaymentMethod> queryOrderPaymentMethod();
}
